package cn.easyutil.veteran.core.error;

/**
 * 异常code
 */
public enum ErrorEnum implements ErrorCodeDefinition{

	//====================用户异常=============================
	user_not_login(9999,"用户未登陆"),
	// =================== 系统异常 ============================
	aes_decrypt_error(101,"数据解密异常"),
	aes_encrypt_error(102,"数据加密异常"),
	PARAM_ERROR(103,"参数错误"),
	error(-1, "系统繁忙");


	/**
	 * 编码值
	 */
	private final int code;
	/**
	 * 备注，提示
	 */
	private final String remark;

	/**
	 * 异常枚举类
	 *
	 * @param code
	 *            编码值
	 * @param remark
	 *            备注，提示
	 */
	private ErrorEnum(int code, String remark) {
		this.code = code;
		this.remark = remark;
	}

	/**
	 * 依据异常编码值获取异常
	 */
	public static ErrorEnum getErrorCode(int code) {
		for (ErrorEnum ec : ErrorEnum.values()) {
			if (ec.getCode() == code) {
				return ec;
			}
		}
		return error;
	}

	@Override
	public int getCode() {
		return code;
	}

	@Override
	public String getRemark() {
		return remark;
	}
}
